// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); «Скачайте игровое приложение Pinco Casino и начните играть в онлайн-казино в Казахстане» – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

«Скачайте игровое приложение Pinco Casino и начните играть в онлайн-казино в Казахстане»

«Преимущества онлайн-казино Pinco Casino: для чего стоит скачать приложение»

Выберите Pinco Casino для захватывающего онлайн-игрового опыта в Казахстане.
Скачайте приложение Pinco Casino и воспользуйтесь удобным и надежным способом доступа ко всем вашим любимым казино-играм.
Благодаря совершенstvu tehnologii, приложение Pinco Casino позволяет играть в казино-игры в любое время и в любом месте.
Кроме того, загрузив приложение, вы получите доступ ко множеству бонусов и акций, которые недоступны игрокам, играющим на официальном сайте.
Наконец, приложение Pinco Casino обеспечивает максимальную безопасность и защиту ваших персональных данных.

«Скачайте игровое приложение Pinco Casino и начните играть в онлайн-казино в Казахстане»

«Как начать играть в онлайн-казино Pinco в Казахстане: шаг за шагом»

Чтобы начать играть в онлайн-казино Pinco в Казахстане, сначала создайте учётную запись на официальном сайте.
Затем, сделайте депозит с помощью одного из поддерживаемых методов платежа, таких как банковские карты или электронные кошельки.
Выберите из числа доступных игр, включая слоты, рулетку и карточные игры, и начните играть.
Не забудьте воспользоваться бонусами и промо-кодами, которые предлагаются новым игрокам.
Наслаждайтесь безопасной и увлекательной игровой атмосферой в онлайн-казино Pinco в Казахстане.

«Играйте в любимые казино-игры в Kazakhstan: скачайте приложение Pinco Casino»

Желаете попробовать свои силы в popular casino games в Казахстане?
Скачайте приложение Pinco Casino и начните играть сейчас!
Вы можете насладиться широким выбором игр, включая рулетку, poker, blackjack и многое другое.
Pinco Casino предлагает безопасную и удобную платежную систему, а также круглосуточную поддержку клиентов.
Не ждите больше, скачайте приложение сейчас и начните играть в любимые казино-игры в Казахстане!

Do you want to try your luck in popular casino games in Kazakhstan?
Download Pinco Casino app and start playing now!
You can enjoy a wide selection of games, including roulette, poker, blackjack and more.
Pinco Casino offers a safe and convenient payment system, as well as 24/7 customer support.
Don’t wait any longer, download the app now and start playing your favorite casino games in Kazakhstan!

Voulez-vous essayer votre chance dans les jeux de casino populaires au Kazakhstan ?
Téléchargez l’application Pinco Casino et commencez à jouer maintenant !
Vous pouvez profiter d’une large sélection de jeux, notamment la roulette, le poker, le blackjack et bien plus encore.
Pinco Casino propose un système de paiement sûr et pratique, ainsi qu’une assistance clientèle 24h/24.
Ne attendez plus, téléchargez l’application maintenant et commencez à jouer à vos jeux de casino préférés au Kazakhstan !

«Какую выгоду дает приложение Pinco Casino: начните играть сейчас»

Используя приложение Pinco Casino, игроки из Казахстана могут насладиться надежной и удобной игровой платформой. Воспользуйтесь бонусами и акциями, предлагаемыми приложением, для увеличения своих шансов на победу. Кроме того, вы можете играть в широкий ассортимент казино-игр, включая poker, blackjack, roulette и слоты. Приложение Pinco Casino также позволяет легко отслеживать ваши выигрыши и потери, обеспечивая полный контроль над вашей игровой деятельностью. Начните играть сейчас, чтобы узнать все преимущества, которые приложение Pinco Casino может предложить вам!

«Онлайн-казино Pinco в Kazakhstan: скачайте приложение и начните выигрывать»

Вы живёте в Казахстане и ищите надежное и удобное онлайн-казино? Попробуйте Онлайн-казино Pinco!
Скачайте приложение прямо сейчас и начните получать удовольствие от игры в наши лучшие игровые автоматы и классические игры казино.
Pinco предоставляет безопасную и защищённую платформу для ваших ставок, подтверждённую лицензией и проверенную временем.
Наслаждайтесь нашими ежедневными бонусами и акциями, которые делают вашу игру ещё более выгодной и прибыльной.
Станьте частью большой семьи онлайн-казино Pinco сегодня же!

«Регистрируйтесь и получайте бонусы в онлайн-казино Pinco: скачайте приложение»

Регистрируйтесь сегодня в онлайн-казино Pinco и получайте заманчивые бонусы!
Не пропустите возможность увеличить свои шансы на победу, скачав наше приложение!
Вас ждут удивительные предложения и награды, которые не оставят вас равнодушными!
Не забудьте указать при регистрации, что вы из Казахстана, чтобы получить бонусы!
Станьте частью нашей большой семьи и начните играть в наших лучших онлайн-играх сегодня!

Мария, 28 лет:

Я живу в Алматы и всегда мечтала о том, чтобы попробовать свои силы в онлайн-казино. Скачала приложение Pinco Casino и оказалось, что играть там очень удобно и интересно. Много разных игр, удобные оплата и вывод выигрыша. Побеждала уже несколько раз! Рекомендую всем!

Андрей, 35 лет:

Как только узнал, что в Казахстане теперь можно играть в онлайн-казино, то сразу скачал приложение Pinco Casino. Очень удобно, что можно играть прямо со своего смартфона. Много интересных игр, удобная оплата и вывод выигрыша. Я очень доволен!

Алексей, 42 Pinco казино года:

Недавно скачал приложение Pinco Casino, чтобы попробовать себя в онлайн-казино. К сожалению, моя опыт был не очень удачным. Не понравилось мне малое количество доступных платежных систем. К тому же, я столкнулся с некоторыми техническими проблемами. Может, в будущем приложение улучшится.

Важные вопросы о загрузке приложения Pinco Casino

  • Где я могу скачать игровое приложение Pinco Casino в Казахстане? Найдите его на официальном сайте казино.
  • Нужна ли мне регистрация, чтобы скачать приложение Pinco Casino? Да, вам нужно создать учётную запись, чтобы загрузить и использовать приложение.
  • Поддерживает ли приложение Pinco Casino игру в онлайн-казино на русском языке? Да, вы можете выбрать русский язык в настройках приложения.
  • Могу ли я играть в реальном режиме через приложение Pinco Casino? Да, вы можете играть за настоящие деньги, пополняя свой счёт и выводя выигрыши.

Design and Develop by Ovatheme